home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 April: Mac OS SDK / Dev.CD Apr 96 SDK / Dev.CD Apr 96 SDK2.toast / Development Kits (Disc 2) / ScriptX / Draggable ScriptX Folders / utils / widgets / scrlbar.sx < prev    next >
Encoding:
Text File  |  1995-12-11  |  2.0 KB  |  61 lines  |  [TEXT/ttxt]

  1. --<<<-
  2. class SimpleScrollBar(ScrollBar)
  3. class variables
  4.     thumbStencil:(importDIB "media/sbthumb.bmp")
  5.     horizIncStencil:(importDIB "media/sbhinc.bmp")
  6.     horizPressIncStencil:(importDIB "media/sbhincp.bmp")
  7.     horizDecStencil:(importDIB "media/sbhdec.bmp")
  8.     horizPressDecStencil:(importDIB "media/sbhdecp.bmp")
  9.     vertIncStencil:(importDIB "media/sbvinc.bmp")
  10.     vertPressIncStencil:(importDIB "media/sbvincp.bmp")
  11.     vertDecStencil:(importDIB "media/sbvdec.bmp")
  12.     vertPressDecStencil:(importDIB "media/sbvdecp.bmp")
  13.     minSpan:(15)
  14. end
  15.  
  16. method init self {class SimpleScrollBar} #rest args #key 
  17.     height:(0)            \
  18.     width:(0)            \
  19.     orientation:     ->
  20. (
  21.     local decStencil,decPStencil,incStencil,incPStencil
  22.  
  23.     if (orientation = unsupplied) do
  24.         if (width > height) then
  25.             orientation := @horizontal
  26.         else
  27.             orientation := @vertical
  28.     if (orientation = @horizontal) then (
  29.         height := SimpleScrollBar.minSpan
  30.         decStencil := SimpleScrollBar.horizDecStencil
  31.         decPStencil := SimpleScrollBar.horizPressDecStencil
  32.         incStencil := SimpleScrollBar.horizIncStencil
  33.         incPStencil := SimpleScrollBar.horizPressIncStencil
  34.     )
  35.     else (
  36.         width := SimpleScrollBar.minSpan
  37.         decStencil := SimpleScrollBar.vertDecStencil
  38.         decPStencil := SimpleScrollBar.vertPressDecStencil
  39.         incStencil := SimpleScrollBar.vertIncStencil
  40.         incPStencil := SimpleScrollBar.vertPressIncStencil
  41.     )
  42.     
  43.     local boundary := new Rect x2:width y2:height
  44.     apply NextMethod self orientation:orientation boundary:boundary \
  45.         decrementStencil:decStencil incrementStencil:incStencil \
  46.         thumbStencil:SimpleScrollBar.thumbStencil stationary:true args
  47.     self.pressIncrementStencil := incPStencil
  48.     self.pressDecrementStencil := decPStencil
  49.     self.fill := ColorScheme.grayBrushes[6]
  50.     self.stroke := BlackBrush
  51.     self.disableBrush := ColorScheme.disableBrush
  52. )
  53.  
  54. method rangeSetter self {class SimpleScrollBar} newRange ->
  55. (
  56.     local diff := newRange.upperBound - newRange.lowerBound
  57.     self.enabled :=  (diff >= self.stepAmount and diff > 0)
  58.     NextMethod self newRange
  59. )
  60. -->>>
  61.